package com.sun.common.core.enums;

import lombok.Getter;

/**
 * @author zhangquanwei
 * @version 1.0
 * @since 2025-03-10 17:41
 */
@Getter
public enum ResponseEnum {

    /**
     * ok
     */
    OK("00000", "ok"),

    /**
     * 用于直接显示提示用户的错误，内容由输入内容决定
     */
    SHOW_FAIL("A00001", ""),

    /**
     * 方法参数没有校验，内容由输入内容决定
     */
    METHOD_ARGUMENT_NOT_VALID("A00002", ""),

    /**
     * 无法读取获取请求参数
     */
    HTTP_MESSAGE_NOT_READABLE("A00003", "请求参数格式有误"),

    /**
     * 未授权
     */
    UNAUTHORIZED("A00004", "Unauthorized"),

    /**
     * 服务器出了点小差
     */
    EXCEPTION("A00005", "服务器出了点小差"),

    /**
     * 数据异常
     */
    DATA_ERROR("A00007", "数据异常，请刷新后重新操作"),

    /**
     * 一些需要登录的接口，而实际上因为前端无法知道token是否已过期，导致token已失效时，
     * 应该返回一个状态码，告诉前端token已经失效了，及时清理
     */
    CLEAN_TOKEN("A00008", "clean token"),

    /**
     * 刷新token已过期
     */
    REFRESH_TOKEN_EXIST("A00009", "refresh token exist"),

    /**
     * 数据不完整
     */
    DATA_INCOMPLETE("A00010", "数据不完整"),

    /**
     * 没有查询权限
     */
    REFUND_NOT_PERMISSION("A03024", "refund not permission"),
    ;
    private final String code;

    private final String message;


    ResponseEnum(String code, String message) {
        this.code = code;
        this.message = message;
    }

}
